﻿namespace CleanArchitecture.Core.Configuration
{

    /// <summary>
    /// Notification type
    /// </summary>
    public enum NotifyType
    {
        /// <summary>
        /// Success
        /// </summary>
        Success = 200,
        /// <summary>
        /// Error
        /// </summary>
        Error = 201,
        /// <summary>
        /// Warning
        /// </summary>
        Warning = 202,
        /// <summary>
        /// UrlRedirect
        /// </summary>
        RedirectUrl = 308,
        /// <summary>
        /// NotFound
        /// </summary>
        NotFound404 = 404,
       
    }

    /// <summary>
    /// SSL requirement
    /// </summary>
    public enum SslRequirement
    {
        /// <summary>
        /// Page should be secured
        /// </summary>
        Yes,
        /// <summary>
        /// Page should not be secured
        /// </summary>
        No,
        /// <summary>
        /// It doesn't matter (as requested)
        /// </summary>
        NoMatter,
    }

    /// <summary>
    /// 后台用户登录方式由 ：
    /// Loginname 字母数字组合
    /// Mobile 手机号登录
    /// Email 邮箱号
    /// 等方式组合登录
    /// </summary>
    public enum AdminUserLoginType
    {
        Loginname = 0,
        Mobile = 1,
        Email = 2
    }

    public enum CustomerLoginType
    {
        Loginname = 0,
        Mobile = 1,
        Email = 2
    }

    /// <summary>
    /// Represents the adminuser/customer login result enumeration
    /// </summary>
    public enum LoginResults
    {
        /// <summary>
        /// Login successful
        /// </summary>
        Successful = 1,

        /// <summary>
        /// Customer does not exist (email or username)
        /// </summary>
        UserNotExist = 2,

        /// <summary>
        /// Wrong password
        /// </summary>
        WrongPassword = 3,

        /// <summary>
        /// Account have not been activated
        /// </summary>
        NotActive = 4,

        /// <summary>
        /// Customer has been deleted 
        /// </summary>
        Deleted = 5,

        /// <summary>
        /// Customer not registered 
        /// </summary>
        NotRegistered = 6,

        /// <summary>
        /// Locked out
        /// </summary>
        LockedOut = 7
    }

    public enum SignInUserEnum
    {
        /// <summary>
        /// 前端登录用户
        /// </summary>
        Customer = 1,
        /// <summary>
        /// 后端系统登录用户
        /// </summary>
        AdminUser= 2
    }

    public enum AuthorizeType
    {
        AdminOnly = 1,
        Ignore = 2,
        Forbidden = 3
    }
}